﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class КадровоеПеремещениеОрганизацийПереопределяемый
	{
		////////////////////////////////////////////////////////////////////////////////
		// Вспомогательные процедуры, функции
		////////////////////////////////////////////////////////////////////////////////
		// Процедуры, функции объекта

		public void ДополнитьСтруктуруПечатныхФорм(/*СтруктураПечатныхФорм, ДокументОбъект*/)
		{
			/*// В этой конфигурации структура печатных форм не дополняется
*/
		}

		public object ПечатьДополнительныхФорм(/*ИмяМакета, Объект*/)
		{
			return null;
		}

		public void ОбработкаЗаполненияПоДругимОснованиям(/*Объект, Основание*/)
		{
			if(true/*ТипЗнч(Основание) = Тип("ДокументСсылка.КадровоеПеремещение")*/)
			{
				/*// Заполним реквизиты из стандартного набора.
*/
				//ЗаполнениеДокументов.ЗаполнитьШапкуДокументаПоОснованию(Объект, Основание);
				if(true/*Основание.Проведен*/)
				{
					//Запрос = Новый Запрос;
					//Запрос.УстановитьПараметр("Основание",	Основание);
					//Запрос.УстановитьПараметр("Организация",Объект.Организация);
					/*Запрос.Текст =
			"ВЫБРАТЬ РАЗРЕШЕННЫЕ
			|	КадровоеПеремещениеРаботники.Сотрудник,
			|	КадровоеПеремещениеРаботники.ФизЛицо,
			|	КадровоеПеремещениеРаботники.ДатаНачала,
			|	КадровоеПеремещениеРаботники.ДатаОкончания,
			|	КадровоеПеремещениеРаботники.НапомнитьПоЗавершении,
			|	СоответствиеПодразделенийИПодразделенийОрганизаций.ПодразделениеОрганизации,
			|	КадровоеПеремещениеРаботники.НоваяДолжность КАК Должность,
			|	КадровоеПеремещениеРаботники.ЗанимаемыхСтавок,
			|	КадровоеПеремещениеРаботники.ГрафикРаботы
			|ИЗ
			|	Документ.КадровоеПеремещение.Работники КАК КадровоеПеремещениеРаботники
			|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоответствиеПодразделенийИПодразделенийОрганизаций КАК СоответствиеПодразделенийИПодразделенийОрганизаций
			|		ПО КадровоеПеремещениеРаботники.НовоеПодразделение = СоответствиеПодразделенийИПодразделенийОрганизаций.Подразделение
			|			И (СоответствиеПодразделенийИПодразделенийОрганизаций.Организация = &Организация)
			|ГДЕ
			|	КадровоеПеремещениеРаботники.Ссылка = &Основание";*/
					//Объект.РаботникиОрганизации.Загрузить(Запрос.Выполнить().Выгрузить());
				}
			}
		}
		// ОбработкаЗаполненияПоДругимОснованиям()

		public void ДополнительныеПроверкиКадровыхДвижений(/*ВыборкаПоСтрокамДокумента, СтрокаНачалаСообщенияОбОшибке, Отказ, Заголовок*/)
		{
			/*// В этой конфигурации других проверок не предусмотрено	
*/
		}
		// Возвращает текст поля запроса
		//
		// Параметры
		//  нет
		//
		// Возвращаемое значение:
		//   строка
		//

		public object ПолучитьДополнительноеПолеОписанияСотрудника(/**/)
		{
			return null;
		}
		// ПолучитьПоле()

		public void ДобавитьДополнительноПоСтроке(/*ДокументОбъект, СтрокаТабличнойЧасти*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void ДобавитьДополнительныеДвижения(/*ДокументОбъект, Отказ, Заголовок*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}
		////////////////////////////////////////////////////////////////////////////////
		// Процедуры, функции для работы формы документа

		public void ФормаДокументаПередОткрытиемДополнительно(/*Форма, ДополнительныеДействия, ДополнительныеОбработчики*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void ФормаДокументаРаботникиПриПолученииДанныхДополнительно(/*ПолеРаботники, ОформленияСтрок*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}
		// ФормаДокументаРаботникиПриПолученииДанныхДополнительно()

		public void ДозаполнитьСтрокуДаннымиРаботникаДоНазначения(/*СтрокаТабличнойЧасти, Выборка*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void ВыполнитьДополнительныеДействия(/*Форма, Кнопка*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void ОбработатьДополнительноПриИзменении(/*Форма, Элемент*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void УдалитьДополнительноПоСтроке(/*Форма, Сотрудник*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}

		public void ФормаДокументаРаботникиПослеУдаленияСтрокиДополнительно(/*Форма*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}
		////////////////////////////////////////////////////////////////////////////////
		// Процедуры, функции для работы формы списка

		public void ФормаСпискаПередОткрытиемДополнительно(/*ФормаСписка*/)
		{
			/*// В этой конфигурации дополнительных действий не предусмотрено
*/
		}
		// ФормаСпискаПередОткрытиемДополнительно

		public object СформироватьЗапросПоДаннымРаботникаДоНазначения(/*Запрос, Ссылка*/)
		{
			/*ТекстЗапроса = 
	"ВЫБРАТЬ
	|	МАКСИМУМ(Работники.Период) КАК Период,
	|	ТаблицаСотрудников.Сотрудник КАК Сотрудник
	|ПОМЕСТИТЬ ДатыПоследнихДвиженийРаботников
	|ИЗ
	|	ВТ_ТаблицаСотрудников КАК ТаблицаСотрудников
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК Работники
	|		ПО (Работники.Период <= ТаблицаСотрудников.ДатаНачала)
	|			И ТаблицаСотрудников.Сотрудник = Работники.Сотрудник
	|			И (Работники.ПервичныйДокумент <> &Ссылка)
	|
	|СГРУППИРОВАТЬ ПО
	|	ТаблицаСотрудников.Сотрудник
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	Сотрудник,
	|	Период
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ДатыПоследнихДвиженийРаботников.Период КАК Период,
	|	ДанныеПоРаботникуДоНазначения.ПериодЗавершения КАК ПериодЗавершения,
	|	ДатыПоследнихДвиженийРаботников.Сотрудник КАК Сотрудник,
	|	ДанныеПоРаботникуДоНазначения.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,
	|	ДанныеПоРаботникуДоНазначения.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
	|	ДанныеПоРаботникуДоНазначения.Должность КАК Должность,
	|	ДанныеПоРаботникуДоНазначения.ЗанимаемыхСтавокЗавершения КАК ЗанимаемыхСтавокЗавершения,
	|	ДанныеПоРаботникуДоНазначения.ПодразделениеОрганизацииЗавершения КАК ПодразделениеОрганизацииЗавершения,
	|	ДанныеПоРаботникуДоНазначения.ДолжностьЗавершения КАК ДолжностьЗавершения
	|ПОМЕСТИТЬ ДанныеПоРаботникуДоНазначения
	|ИЗ
	|	ДатыПоследнихДвиженийРаботников КАК ДатыПоследнихДвиженийРаботников
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК ДанныеПоРаботникуДоНазначения
	|		ПО (ДанныеПоРаботникуДоНазначения.Период = ДатыПоследнихДвиженийРаботников.Период)
	|			И ДатыПоследнихДвиженийРаботников.Сотрудник = ДанныеПоРаботникуДоНазначения.Сотрудник
	|			И (ДанныеПоРаботникуДоНазначения.ПервичныйДокумент <> &Ссылка)
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	Сотрудник
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ТаблицаСотрудников.Сотрудник,
	|	ВЫБОР
	|		КОГДА ДанныеПоРаботникуДоНазначения.ПериодЗавершения <= ТаблицаСотрудников.ДатаНачала
	|				И ДанныеПоРаботникуДоНазначения.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеПоРаботникуДоНазначения.ЗанимаемыхСтавокЗавершения
	|		ИНАЧЕ ДанныеПоРаботникуДоНазначения.ЗанимаемыхСтавок
	|	КОНЕЦ КАК ЗанимаемыхСтавок,
	|	ВЫБОР
	|		КОГДА ДанныеПоРаботникуДоНазначения.ПериодЗавершения <= ТаблицаСотрудников.ДатаНачала
	|				И ДанныеПоРаботникуДоНазначения.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеПоРаботникуДоНазначения.ПодразделениеОрганизацииЗавершения
	|		ИНАЧЕ ДанныеПоРаботникуДоНазначения.ПодразделениеОрганизации
	|	КОНЕЦ КАК ПодразделениеОрганизации,
	|	ВЫБОР
	|		КОГДА ДанныеПоРаботникуДоНазначения.ПериодЗавершения <= ТаблицаСотрудников.ДатаНачала
	|				И ДанныеПоРаботникуДоНазначения.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|			ТОГДА ДанныеПоРаботникуДоНазначения.ДолжностьЗавершения
	|		ИНАЧЕ ДанныеПоРаботникуДоНазначения.Должность
	|	КОНЕЦ КАК Должность
	|ИЗ
	|	ВТ_ТаблицаСотрудников КАК ТаблицаСотрудников
	|		ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоРаботникуДоНазначения КАК ДанныеПоРаботникуДоНазначения
	|		ПО ТаблицаСотрудников.Сотрудник = ДанныеПоРаботникуДоНазначения.Сотрудник";*/
			//Запрос.УстановитьПараметр("Ссылка",	Ссылка);
			//Запрос.Текст = ТекстЗапроса;
			return null;
		}
	}
}
